<?php 

	class CommentView{
		private $commentButton = "CommentButton";
		private $comment = "Comment";
		private $delete= "delete";
		
		CONST COMMENT_IS_EMPTY = 0;
		CONST COMMENT_TO_LONG = 1;
		CONST FORBIDDEN_LETTERS = 2;
		
		// formuläret för kommentarer
		public function commentForm($getFileName){
			$path = "index.php?FileID=$getFileName";
			$ret = "
			<div id='commentDiv'>
				<form id='commentForm' action='$path' method='post'>	
				
	       				 <textarea placeholder='Kommentera..' name='$this->comment'></textarea>
	        			<input type='Submit' name='$this->commentButton' class='button5' value='Skicka' />
	        			
				</form>
			</div>";
			// retunerar formuläret
			return $ret;
			
		}
		// Beroende på vilket fel det är, så kommer det text
		public function ErrorStatus($var){
			
			$status = "";
			
			switch($var){
				case self::COMMENT_IS_EMPTY:
					$status .= "En kommentar kan inte vara tom. ";
					break;
				case self::COMMENT_TO_LONG:
					$status .= "En kommentar kan endast vara max 200 tecken. ";
					break;
				case self::FORBIDDEN_LETTERS :
					$status .= "Otillåtet tecken, försök igen";
					break;
				case self::WRONG_USER:
					$status .= "Du kan inte ta bort någon annas kommentar";
					break;
			}
			// retunras i en p-tagg
			return "<p class='commentBad'> $status</p>";
		}
		
		// Kollar om man försöker kommentera
		public function TriedToComment(){
			if(isset($_POST[$this->commentButton])){
				return true;
			}
			return false;
		}
		// Hämtar texten
		public function GetText(){
			if(isset($_POST[$this->comment])){
				return $_POST[$this->comment];
			}
		}		
		// Kollar om man försöker ta bort kommentar
		public function TriedToDeleteComment(){
			if(isset($_GET[$this->delete])){
				return true;
			}
			return false;
		}
		// Hämtar deleteID
		public function deleteID(){
			return $_GET[$this->delete];
		}
		
		// Funktion som fixar och formar kommentaerna som jag vill ha det
		// Ändrar formen på datumet osv
		public function FixComments($commentArray, $loggedInUserName)
		{
			// Hur hela kommentaren ska se ut
			$comments = null;
			// Delete-Knappen för alla kommentarer
			$deleteHTML = null;
			// Dagens datum
			$today = date("Y-m-d");

			// För varje kommentar i kommentararrayen
			foreach($commentArray as $comment){
					
				// sätter ID, namn, text, och datum
				$ID = $comment->getID();
				$UserName = $comment->getName();
				$Text = $comment->getText();
				$Date = substr($comment->getDate(), 0, -9);
				
				
				// Så blir "deletePath" alltså "url:en" till delete-länken
				$deletePath = NavigationView::deletePath($ID);
				
				// Om kommentarnamnet är lika med namnet som man är inloggad som
				if($comment->getName() === $loggedInUserName)
				{
					// Så ska delete-knappen visas
					$deleteHTML = "<a class='deleteCommentID' href='$deletePath'> Ta bort </a>";
				}
				else{
					// Annars ska de inte finnas nån delete-knapp
					$deleteHTML = null;
				}
		
				// Om datumet är dagens datum, så ska det stå idag istället
				if($Date === $today){
					$Date = "Idag";
				}
				
				// Så här ska kommentarena va formade i html
				$comments .= "
				<div class='oneCommentDiv'>
					<h3> $UserName </h3> 
					$Text  $deleteHTML
					
					<div id='datecomment'> 
						$Date  
					</div>
					
				</div>";
			}
			// retunerar alla kommentarer
			return "<div id='theComments'><h2>Kommentarer</h2>" . $comments . "</div>";
		}
		
	}
?>